﻿using System;
using Microsoft.Practices.Prism.Mvvm;

namespace Infrastucture.Navigation
{
    public class NavigationLink : BindableBase
    {
        private string _display;
        private string _regionName;
        private int _order;
        private Module _module;
        private NavigationMenu _navigationMenu;

        public NavigationLink()
        {
            // empty consttructor
        }
        public NavigationLink(string display, int order)
        {
            this.Display = display;
            this.Order = order;
        }
        public NavigationLink(string display, int order, string regionName, Module module)
        {
            this.Display = display;
            this.Order = order;
            this.RegionName = regionName;
            this.Module = module;
        }
        public NavigationLink(string display, int order, string regionName, Module module, NavigationMenu navigationMenu)
        {
            this.Display = display;
            this.Order = order;
            this.RegionName = regionName;
            this.Module = module;
            this.NavigationMenu = navigationMenu;
        }

        public string Display
        {
            get { return _display; }
            set { SetProperty(ref _display, value); }
        }
        public string RegionName
        {
            get { return _regionName; }
            set { SetProperty(ref _regionName, value); }
        }
        public int Order
        {
            get { return _order; }
            set { SetProperty(ref _order, value); }
        }
        public Module Module
        {
            get { return _module; }
            set { SetProperty(ref _module, value); }
        }
        public NavigationMenu NavigationMenu
        {
            get { return _navigationMenu; }
            set { SetProperty(ref _navigationMenu, value); }
        }
    }
}
